1. Field of the Invention
The present invention relates to an image processing apparatus, such as a server on the Internet, which transmits encoded image data to a destination device (such as a client) through the Internet, and also relates to an image processing program and a storage medium which cause a computer to execute the same processing as the transmission of encoded image data to the destination device.
2. Description of the Related Art
With the recent development of image input/output technology, the demand for high-resolution image processing is increasing. For example, in a case of digital cameras that are image input devices, the manufacture of highly efficient, inexpensive charge-coupled devices (CCD) having 3 million pixels or more will progress, and they have come to be widely used also in the products of a reasonable price. And the manufacture of the products having 5 million pixels or more is also promised. For the time being, the upward tendency of the number of pixels (or the resolution) will continue.
On the other hand, as for the image output/display devices, miniaturization and low-pricing of the products in the soft-copy field, such as flat-panel displays, CRTs (cathode-ray tube displays), LCDs (liquid-crystal displays), PDPs (plasma displays), etc., and the products in the hard-copy field, such as laser printers (including multi-function peripherals (MFP)), ink-jet printers, sublimated type printers, etc. are also remarkable.
The marketing of such high performance, low-price image input/output products enables the popularization of high-resolution images to start, and it is expected that the demand of the highly minute image increases in all the fields of the image input/output technology from now on.
Development of the network-related technology including personal computers or the Internet systems actually accelerates such a trend increasingly. Especially recently, the spreading speed of mobile devices, such as cellular phones and notebook personal computers, is very high, and the opportunity to transmit or receive a high-resolution image by using a communication device from various locations on the network increases rapidly.
By taking into consideration the above matter, it appears that it is inevitable that the request of making it easier the handling of image compression and expansion technology becomes stronger in the future.
In recent years, a new method called JPEG2000 which can restore a high-resolution image encoded with a high compression ratio is being standardized as one of the image encoding/decoding methods that attain the above-mentioned request.
According to the JPEG2000, it is possible to perform compression/expansion processing of an image by dividing the image into rectangular portions (tile components) under the environment with memory devices having a small storage capacity. Namely, each tile component becomes the base unit at the time of performing the compression/expansion processing, and the compression/expansion operation for every tile component can be performed independently.
For example, when downloading a desired image data from a server onto a certain user's personal computer through the Internet, or when carrying out printing out of an image data from a certain user's personal computer to a printer, such as MFP, the codestream which is produced through the compression coding according to the JPEG2000 is transmitted through a transmission path over the network to the destination device.
In the transmission of such image data, there is the possibility that the data may be lost due to the packet loss etc. depending on the communication conditions, and, once the packet data is lost, displaying or printing of the image of the subsequent packets will be impossible. Especially when the transmission paths of the wireless communications are used, the possibility of data loss is very high. The latest local area networks mostly use the wireless-LAN equipment, and the same problem will arise.
Taking into account the above cases, the JPEG2000 is provided to use also the technology which gives error resilience to the codestream such that the reproduction of the encoded image is not significantly influenced by a bit error even if it occurs in the codestream. Concerning the error resilience insertion, there are several kinds of error resilience functions which are specified in the JPEG2000. For example, one error resilience function uses the entropy coding, and another function uses the packet.
Therefore, when transmitting the codestream, which is produced by the compression encoding, through the transmission paths, it is effective to give such error resilience to the codestream in order to prevent the data loss as much as possible.
However, when giving error resilience in the conventional method, uniform error resilience is given to the entire image (one image) of the codestream. Giving error resilience makes it possible to easily prevent the data loss, but the amount of image data being transmitted becomes large, which causes the load of the network to be increased.
Accordingly, there is the problem that the transmission of image data to which error resilience is given will require longer time, which causes the time needed for the displaying or printing of the image to be increased. Moreover, the necessity of re-transmission of the image data will arise more frequently.